In the current state of the art, a hash, a digest, a cryptographic hash, or a digital fingerprint, of a digital item, may be stored on the blockchain in order to provide a provenance of a digital item. For example, the hash of a digital copy of a legal contract may be submitted to a Bitcoin blockchain or an Ethereum blockchain, in order to prove that said legal contract existed at a given time.
Similarly, a veracity of a computer program may be determined through a means of a program vendor providing the computer program for download, and at a different location a hash of a binary data comprising the computer program. A customer may then download the computer program, independently calculate the hash of the computer program from the binary data comprising the computer program, and verify that the hash calculated matches the hash of the binary data as provided by the program vendor.
In order to provide increased confidence in the computer program as downloaded, the program vendor may choose to provide the hash of the binary data on the blockchain, for example a public blockchain such as the Bitcoin blockchain or the Ethereum blockchain.
There are problems associated with a current provision of the digital item and its corresponding hash. A first problem is that the hash may need to be provided out of band—that is to say—the hash may need to be provided at a different location to the digital item. As a result, the customer may need to determine the different location independently, for example by searching for it.
A second problem is that by including a location of the hash in the digital item, the hash calculated from the digital item is changed. This may result in a never-ending loop of hash calculation, whereby the program vendor calculates the hash, includes the location on the blockchain of the hash in the digital item, re-calculates the hash for the digital item and determines that it has now changed, and may therefore be required to re-calculate the hash anew.
A third problem is that calculating the hash of the digital item and searching through the blockchain for the presence of said hash, using a network connected device with one or more of limited computational power, limited memory, and limited network bandwidth, such as an Internet-Of-Things device, may be infeasible.
It is therefore the intention of the present disclosure to address a problem of ensuring that the provision of the hash of the digital item and the digital item itself are linked in a fashion, by ensuring that the digital item contains an indicator or pointer to the location of the hash, in order to provide an improved provenance for the digital item, and to reduce computational power, memory, and network bandwidth required to discover the hash and verify said improved provenance.